<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>The source code</title>
  <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
  <script type="text/javascript" src="../resources/prettify/prettify.js"></script>
  <style type="text/css">
    .highlight { display: block; background-color: #ddd; }
  </style>
  <script type="text/javascript">
    function highlight() {
      document.getElementById(location.hash.replace(/#/, "")).className = "highlight";
    }
  </script>
</head>
<body onload="prettyPrint(); highlight();">
  <pre class="prettyprint lang-js"><span id='Ext-direct-Provider'>/**
</span> * @class Ext.direct.Provider
 * @extends Ext.util.Observable
 * &lt;p&gt;Ext.direct.Provider is an abstract class meant to be extended.&lt;/p&gt;
 * 
 * &lt;p&gt;For example ExtJs implements the following subclasses:&lt;/p&gt;
 * &lt;pre&gt;&lt;code&gt;
Provider
|
+---{@link Ext.direct.JsonProvider JsonProvider} 
    |
    +---{@link Ext.direct.PollingProvider PollingProvider}   
    |
    +---{@link Ext.direct.RemotingProvider RemotingProvider}   
 * &lt;/code&gt;&lt;/pre&gt;
 * @abstract
 */
Ext.direct.Provider = Ext.extend(Ext.util.Observable, {    
<span id='Ext-direct-Provider-cfg-id'>    /**
</span>     * @cfg {String} id
     * The unique id of the provider (defaults to an {@link Ext#id auto-assigned id}).
     * You should assign an id if you need to be able to access the provider later and you do
     * not have an object reference available, for example:
     * &lt;pre&gt;&lt;code&gt;
Ext.Direct.addProvider(
    {
        type: 'polling',
        url:  'php/poll.php',
        id:   'poll-provider'
    }
);
     
var p = {@link Ext.Direct Ext.Direct}.{@link Ext.Direct#getProvider getProvider}('poll-provider');
p.disconnect();
     * &lt;/code&gt;&lt;/pre&gt;
     */
        
<span id='Ext-direct-Provider-cfg-priority'>    /**
</span>     * @cfg {Number} priority
     * Priority of the request. Lower is higher priority, &lt;tt&gt;0&lt;/tt&gt; means &quot;duplex&quot; (always on).
     * All Providers default to &lt;tt&gt;1&lt;/tt&gt; except for PollingProvider which defaults to &lt;tt&gt;3&lt;/tt&gt;.
     */    
    priority: 1,

<span id='Ext-direct-Provider-cfg-type'>    /**
</span>     * @cfg {String} type
     * &lt;b&gt;Required&lt;/b&gt;, &lt;tt&gt;undefined&lt;/tt&gt; by default.  The &lt;tt&gt;type&lt;/tt&gt; of provider specified
     * to {@link Ext.Direct Ext.Direct}.{@link Ext.Direct#addProvider addProvider} to create a
     * new Provider. Acceptable values by default are:&lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
     * &lt;li&gt;&lt;b&gt;&lt;tt&gt;polling&lt;/tt&gt;&lt;/b&gt; : {@link Ext.direct.PollingProvider PollingProvider}&lt;/li&gt;
     * &lt;li&gt;&lt;b&gt;&lt;tt&gt;remoting&lt;/tt&gt;&lt;/b&gt; : {@link Ext.direct.RemotingProvider RemotingProvider}&lt;/li&gt;
     * &lt;/ul&gt;&lt;/div&gt;
     */    
 
<span id='Ext-direct-Provider-method-constructor'>    // private
</span>    constructor : function(config){
        Ext.apply(this, config);
        this.addEvents(
<span id='Ext-direct-Provider-event-connect'>            /**
</span>             * @event connect
             * Fires when the Provider connects to the server-side
             * @param {Ext.direct.Provider} provider The {@link Ext.direct.Provider Provider}.
             */            
            'connect',
<span id='Ext-direct-Provider-event-disconnect'>            /**
</span>             * @event disconnect
             * Fires when the Provider disconnects from the server-side
             * @param {Ext.direct.Provider} provider The {@link Ext.direct.Provider Provider}.
             */            
            'disconnect',
<span id='Ext-direct-Provider-event-data'>            /**
</span>             * @event data
             * Fires when the Provider receives data from the server-side
             * @param {Ext.direct.Provider} provider The {@link Ext.direct.Provider Provider}.
             * @param {event} e The {@link Ext.Direct#eventTypes Ext.Direct.Event type} that occurred.
             */            
            'data',
<span id='Ext-direct-Provider-event-exception'>            /**
</span>             * @event exception
             * Fires when the Provider receives an exception from the server-side
             */                        
            'exception'
        );
        Ext.direct.Provider.superclass.constructor.call(this, config);
    },

<span id='Ext-direct-Provider-method-isConnected'>    /**
</span>     * Returns whether or not the server-side is currently connected.
     * Abstract method for subclasses to implement.
     */
    isConnected: function(){
        return false;
    },

<span id='Ext-direct-Provider-method-connect'>    /**
</span>     * Abstract methods for subclasses to implement.
     */
    connect: Ext.emptyFn,
    
<span id='Ext-direct-Provider-method-disconnect'>    /**
</span>     * Abstract methods for subclasses to implement.
     */
    disconnect: Ext.emptyFn
});
</pre>
</body>
</html>
